package com.xiaoy.util.format;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.xiaoy.util.store.Templatekeys;
import com.xiaoy.util.store.VariableStore;

public class DateUtil {

	
	/**
	 * 得到当前的日期
	 * @return
	 */
	public static String getNowDate() {

		return getNowDate(VariableStore.getValue(Templatekeys.BaseSetting.DATEFORMAT));
	}
	/**
	 * 得到当前的日期
	 * @param formatStr 日期格式
	 * @return
	 */
	public static String getNowDate(String formatStr) {

		SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
		return sdf.format(new Date());
	}
	
	
	/**
	 * 得到当前的时间
	 * @return
	 */
	public static String getNowTime () {
		SimpleDateFormat sdf = new SimpleDateFormat(VariableStore.getValue(Templatekeys.BaseSetting.TIMEFORMAT));
		return sdf.format(new Date());
	}
	/**
	 * 得到当前的时间
	 * @param formatStr 时间格式
	 * @return
	 */
	public static String getNowTime (String formatStr) {
		SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
		return sdf.format(new Date());
	}
	
	
	/**
	 * 字符串转换到时间格式
	 * @param dateStr 需要转换的字符串
	 * @param formatStr 需要格式的目标字符串  举例 yyyy-MM-dd
	 * @return Date 返回转换后的时间
	 * @throws ParseException 转换异常
	 */
	public static Date StringToDate(String dateStr, String formatStr) {
		DateFormat sdf = new SimpleDateFormat(formatStr);
		Date date = null;
		try {
			date = sdf.parse(dateStr);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return date;
	}

	public static Date StringToDate(String dateStr) {
		String mat = VariableStore.getValue(Templatekeys.BaseSetting.DATEFORMAT);
		if(mat == ""){
			mat = "yyyy-mm-dd";
		}
		return StringToDate(dateStr, mat);
	}

}
